﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ForrajeriaDAL; //Estos Using Van siempre en esta capa
using ForrajeriaDB; //Estos Using Van siempre en esta capa


namespace ForrajeriaBCL
{
    public class ClienteBCL : InterfaceBCL<ClienteMO>
    {
        private ClienteDAL clienteDAL;

        public ClienteBCL()
        {
            clienteDAL = ClienteDAL.getInstance;
        }//Llamada al Singleton

        public List<ClienteMO> GetAll()
        {
            try
            {
                return clienteDAL.GetAll();
            }
            catch (Exception ex)
            {
                Exception ez = new Exception("Error de conexion con la Base de Datos");
                throw (ez);
            }

        }

        public string Adicionar(ClienteMO item)
        {
            try
            {
                clienteDAL.Adicionar(item);
                return "1";
            }
            catch (Exception ex)
            {
                return "Error de Escritura en base de Datos";
            }
        }

        public string Eliminar(ClienteMO item)
        {
            throw new NotImplementedException();
        }

        public string Actualizar(ClienteMO itemNuevo, ClienteMO itemViejo)
        {
            try
            {
                clienteDAL.Actualizar(itemNuevo, itemViejo);
                return "1";
            }
            catch (Exception ex)
            {
                return "Error de Escritura en base de Datos";
            }

        }

        public ClienteMO getByID(int codigo)
        {
            try
            {
                return clienteDAL.getByID(codigo);
            }
            catch (Exception ex)
            {
                throw new Exception("Error: " + ex.Message);
            }
        }



    }
}
